package com.example.demo.api.ecom;

import com.example.demo.bean.vo.LSessionUser;
import com.github.lianjiatech.retrofit.spring.boot.annotation.RetrofitClient;
import retrofit2.http.*;
@RetrofitClient(baseUrl = "${ecom.session.base}")

public interface LSessionApi {
    /**
     * <p> 配置: li_ecom_session_init (PropertiesUtil)
     * <p> 请求头: apikey
     *
     * @return SessionID
     */
    @GET("api/v1/session/init")
    @Headers("apikey: l71e61572864c8427dabefa21de6389c7e")
    String sessionInit();

    /**
     * <p> 配置: li_ecom_session_init (PropertiesUtil)
     * <p> 请求头: apikey
     *
     * @return LSessionUser
     */
    @GET("api/v1/session/{sessionId}/Lenovo.User")
    @Headers("apikey: l71e61572864c8427dabefa21de6389c7e")
    String getSessionUser(@Path("sessionId")  String sessionId);

    /**
     * <p> 配置: li_ecom_session_user (PropertiesUtil)
     * <p> 请求头: apikey
     *
     * @return LSessionUser
     */
    @PUT("api/v1/session/{sessionId}/Lenovo.User")
    @Headers("apikey: l71e61572864c8427dabefa21de6389c7e")
    java.lang.Void putSessionUser(@Path("sessionId") String sessionId , @Body LSessionUser lSessionUser);

    /**
     * <p> 配置: li_ecom_session_user (PropertiesUtil)
     * <p> 请求头: apikey
     */
    @DELETE("api/v1/session/{sessionId}/Lenovo.User")
    @Headers("apikey: l71e61572864c8427dabefa21de6389c7e")
    java.lang.Void deleteSessionUser(@Path("sessionId") String sessionId);


    /**
     * SMB SSO
     * <p> 配置: li_ecom_session_base_url (PropertiesUtil)
     * <p> 请求头: apikey
     */
    @PUT("{sessionId}/{smbStore}-gateKeeperAuthenticated")
    @Headers("apikey: l71e61572864c8427dabefa21de6389c7e")
    java.lang.Void putGateKeeperKey(@Path("sessionId") String sessionId,@Path("smbStore") String smbStore);
}
